package br.com.hs.nfe.common.to;

import br.com.hs.nfe.common.util.ChaveAcessoHelper;

/**
 * Classe de informações da chave de acesso.
 * @author Ranlive Hrysyk
 */
public class ChaveAcessoTO {

    private String ano;
    private String digito;
    private String mes;
    private String cnpjEmitente;
    private String modelo;
    private String serie;
    private String numeroNFe;
    private String codigoNumerico;
    private String ufEmitente;
    private String tipoEmissao;

    /**
     * Obtém a String da Chave de Acesso.
     */
    public String getChaveAcesso() {
        return ChaveAcessoHelper.gerarChaveAcesso(this);
    }

    /**
     * Ano de emissão da nota.
     */
    public String getAno() {
        return ano;
    }

    /**
     * Informar o ano de emissão da nota.
     * @param ano Ano de emissão da nota
     */
    public void setAno(String ano) {
        this.ano = ano;
    }

    /**
     * Dígito Verificador da Chave Acesso.
     */
    public String getDigito() {
        return digito;
    }

    /**
     * Informar o dígito verificador da chave de acesso da NF-e.
     * @param digito Dígito Verificador da Chave Acesso.
     */
    public void setDigito(String digito) {
        this.digito = digito;
    }

    /**
     * Mês de emissão da nota.
     */
    public String getMes() {
        return mes;
    }

    /**
     * Informar o mês de emissão da nota.
     * @param mes Mês de emissão da nota
     */
    public void setMes(String mes) {
        this.mes = mes;
    }

    /**
     * CNPJ do Emitente.
     */
    public String getCNPJEmitente() {
        return cnpjEmitente;
    }

    /**
     * Informar o código do emitente.
     * @param cnpjEmitente CNPJ do Emitente
     */
    public void setCNPJEmitente(String cnpjEmitente) {
        this.cnpjEmitente = cnpjEmitente;
    }

    /**
     * Código do Modelo do Documento Fiscal.
     */
    public String getModelo() {
        return modelo;
    }

    /**
     * Informar o código do modelo do documento fiscal.
     * @param modelo Código do Modelo do Documento Fiscal
     */
    public void setModelo(String modelo) {
        this.modelo = modelo;
    }

    /**
     * Série do Documento Fiscal.
     */
    public String getSerie() {
        return serie;
    }

    /**
     * Informar a série do documento fiscal.
     * @param serie Série do Documento Fiscal
     */
    public void setSerie(String serie) {
        this.serie = serie;
    }

    /**
     * Número do Documento Fiscal.
     */
    public String getNumeroNFe() {
        return numeroNFe;
    }

    /**
     * Informar o número do documento fiscal - Número da Nota.
     * @param numeroNFe Número do Documento Fiscal
     */
    public void setNumeroNFe(String numeroNFe) {
        this.numeroNFe = numeroNFe;
    }

    /**
     * Código Numérico.
     */
    public String getCodigoNumerico() {
        return codigoNumerico;
    }

    /**
     * Informar o código numérico que compõe a chave de acesso.
     */
    public void setCodigoNumerico(String codigoNumerico) {
        this.codigoNumerico = codigoNumerico;
    }

    /**
     * Código da UF do emitentel.
     */
    public String getUFEmitente() {
        return ufEmitente;
    }

    /**
     * Informar o código da UF do emitente.
     * @param ufEmitente Código da UF do emitente
     */
    public void setUFEmitente(String ufEmitente) {
        this.ufEmitente = ufEmitente;
    }

    /**
     * Tipo de Emissão da NF-e.
     */
    public String getTipoEmissao() {
        return tipoEmissao;
    }

    /**
     * Informar o tipo de emissão da NF-e.
     * @param tipoEmissao Tipo de Emissão da NF-e
     */
    public void setTipoEmissao(String tipoEmissao) {
        this.tipoEmissao = tipoEmissao;
    }
}
